Data Expiration এবং Management

Database Tutorials - ডাইনামোডিবি (DynamoDB) DynamoDB TTL (Time to Live) কনফিগারেশন |
238
238

DynamoDB তে Data Expiration এবং Management অত্যন্ত গুরুত্বপূর্ণ বিষয়, বিশেষ করে যখন আপনার অ্যাপ্লিকেশনে বড় ধরনের ডেটা স্টোরেজ বা বড় পরিসরে ডেটা প্রবাহ রয়েছে। DynamoDB ডেটাবেসে সঠিকভাবে ডেটা ম্যানেজমেন্ট এবং এক্সপিরেশন নিশ্চিত করতে হলে আপনাকে কিছু কার্যকরী কৌশল এবং বৈশিষ্ট্য ব্যবহার করতে হবে, যেমন Time to Live (TTL) এবং auto-scaling

এখানে আমরা DynamoDB তে Data Expiration এবং Management সম্পর্কে বিস্তারিত আলোচনা করব।


1. Time to Live (TTL)

Time to Live (TTL) হল একটি গুরুত্বপূর্ণ ফিচার যা আপনাকে DynamoDB টেবিলের ডেটার জন্য একটি নির্দিষ্ট সময়সীমা নির্ধারণ করতে সাহায্য করে। এই সময়সীমার পর ডেটাটি অটোমেটিকভাবে মুছে যাবে। এটি বিশেষভাবে উপকারী যখন আপনি শুধুমাত্র নির্দিষ্ট সময় পর্যন্ত কার্যকরী ডেটা রাখতে চান, যেমন সেশন ডেটা, অস্থায়ী ক্যাশ, বা অর্পিত ট্রানজেকশন।

TTL এর ব্যবহার:

TTL সক্রিয় করলে, নির্দিষ্ট সময়ে ডেটা মুছে ফেলা হয়, এবং এটি পরিচালনা করা সহজ হয়।

  • How TTL Works:
    • আপনি যে অ্যাট্রিবিউটটি TTL হিসেবে নির্বাচন করবেন, তার ভ্যালু একটি টাইমস্ট্যাম্প হতে হবে (Unix timestamp in seconds) যা ডেটার মুছে ফেলার সময় নির্ধারণ করবে।
    • DynamoDB এই টাইমস্ট্যাম্পের ভিত্তিতে সেগুলিকে অটোমেটিকভাবে মুছে ফেলে।

TTL সক্রিয় করা:

  1. TTL Enable: আপনি DynamoDB টেবিলের জন্য TTL সক্রিয় করতে পারেন, যা একটি নির্দিষ্ট অ্যাট্রিবিউটের ভিত্তিতে ডেটা মুছে ফেলে। উদাহরণস্বরূপ, আপনি expirationTime নামক একটি অ্যাট্রিবিউট ব্যবহার করে নির্দিষ্ট সময় পর ডেটা মুছে ফেলার জন্য সেট করতে পারেন।
  2. CLI Example:

    aws dynamodb update-table \
      --table-name YourTableName \
      --time-to-live-specification "Enabled=true,AttributeName=expirationTime"
    
  3. Data Insertion with TTL Attribute: যখন আপনি নতুন ডেটা ইনসার্ট করবেন, তখন আপনাকে একটি expirationTime অ্যাট্রিবিউট যোগ করতে হবে যা Unix টাইমস্ট্যাম্প হিসেবে নির্দিষ্ট করবে কখন ডেটাটি মুছে যাবে।

    {
        "UserID": {"S": "user123"},
        "Name": {"S": "John Doe"},
        "expirationTime": {"N": "1657160123"}  // Unix timestamp for expiration
    }
    

TTL সুবিধা:

  • Automated Cleanup: TTL ফিচারটি ডেটার অটোমেটিক মুছে ফেলার কাজটি সম্পাদন করে, যার ফলে ম্যানুয়ালি ডেটা মুছতে হয় না।
  • Cost Efficiency: পুরনো, অব্যবহৃত ডেটা মুছে ফেলা হলে আপনার ডেটাবেসের সাইজ ছোট হয়ে যাবে, এবং তাই আপনি কম খরচে স্টোরেজ ব্যবহার করতে পারবেন।

2. Auto-Scaling

Auto-scaling DynamoDB এ একটি শক্তিশালী বৈশিষ্ট্য যা আপনাকে টেবিলের রিড এবং রাইট ক্যাপাসিটি স্বয়ংক্রিয়ভাবে বাড়ানোর এবং কমানোর অনুমতি দেয়। এটি বিশেষভাবে গুরুত্বপূর্ণ যখন আপনার অ্যাপ্লিকেশন একসাথে অনেক রিকোয়েস্ট প্রক্রিয়া করে, এবং আপনাকে অটোমেটিক স্কেলিং সেট আপ করতে হয় যাতে নির্দিষ্ট সীমার মধ্যে থাকতে পারে।

Auto-scaling এর মাধ্যমে DynamoDB টেবিল ম্যানেজমেন্ট:

  • Provisioned Capacity Mode: যখন আপনি provisioned capacity mode ব্যবহার করেন, তখন আপনি রিড এবং রাইট ক্যাপাসিটি ইউনিট কনফিগার করতে পারেন এবং Auto-scaling আপনাকে ঐ ক্যাপাসিটিগুলি স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে সাহায্য করবে।
  • On-Demand Capacity Mode: যখন আপনি on-demand capacity mode ব্যবহার করেন, DynamoDB স্বয়ংক্রিয়ভাবে আপনার প্রয়োজন অনুসারে রিড এবং রাইট ক্যাপাসিটি বাড়িয়ে নেবে।

Auto-scaling কনফিগারেশন:

Auto-scaling কনফিগার করতে, আপনি নিম্নলিখিত ধাপগুলো অনুসরণ করতে পারেন:

  1. CLI Example for Auto-scaling Configuration:

    aws dynamodb update-table \
      --table-name YourTableName \
      --provisioned-throughput "ReadCapacityUnits=5,WriteCapacityUnits=5" \
      --auto-scaling-target-scaling-policy "TargetTrackingScalingPolicy"
    
  2. Auto-scaling Parameters:
    • Target Utilization: আপনি যে রিড এবং রাইট ক্যাপাসিটি ব্যবহার করতে চান তা সঠিকভাবে সামঞ্জস্য করতে Target Utilization সেট করতে পারেন।
    • Minimum and Maximum Capacity: আপনি আপনার টেবিলের জন্য সর্বনিম্ন এবং সর্বোচ্চ ক্যাপাসিটি ইউনিট সেট করতে পারেন যাতে লোডের পরিবর্তন অনুসারে এটি সঠিকভাবে স্কেল হয়।

3. Expiration এবং Archive Strategy

আপনি যদি পুরনো ডেটা আর্কাইভ করতে চান, তাহলে আপনি DynamoDB Streams ব্যবহার করে ডেটা পরিবর্তন ট্র্যাক করতে পারেন এবং সেই ডেটাগুলিকে আরেকটি সস্তা স্টোরেজে (যেমন S3) স্থানান্তর করতে পারেন। পরে, আপনি এই আর্কাইভ ডেটা থেকে মুছে ফেলতে পারবেন DynamoDB এর টেবিল থেকে, যখন এগুলি আর প্রয়োজনীয় না থাকে।

Archiving with DynamoDB Streams:

  1. Streams Enable: আপনার DynamoDB টেবিলের জন্য Streams সক্রিয় করুন।
  2. Lambda for Archiving: DynamoDB Streams এর মাধ্যমে Lambda ফাংশন ব্যবহার করে ডেটা S3 এ আর্কাইভ করুন।

সারাংশ

Data Expiration এবং Management DynamoDB তে অত্যন্ত গুরুত্বপূর্ণ, বিশেষ করে যখন আপনার টেবিলে সময়ভিত্তিক ডেটা পরিচালনা করতে হয়। TTL ফিচারটি আপনাকে নির্দিষ্ট সময় পর ডেটা অটোমেটিকভাবে মুছে ফেলতে সাহায্য করে, আর auto-scaling টেবিলের ক্যাপাসিটি অনুযায়ী স্বয়ংক্রিয়ভাবে রিড এবং রাইট পারফরম্যান্স সমন্বয় করতে সাহায্য করে।

এই ফিচারগুলি ব্যবহার করে আপনি আপনার ডেটাবেসের পারফরম্যান্স এবং কস্ট-এফিশিয়েন্সি নিশ্চিত করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion